<?php   


App::uses('HtmlHelper', 'View/Helper');
App::uses('View', 'View');

class OrdenesController extends AppController {
    public $helpers = array('Html','Form','Time');
    
    public function index(){
        $this->View = new View($this->Controller);
        $htmlHelper = new HtmlHelper($this->View);
        $this->loadModel('Usuario');
        $this->loadModel('logOrden');
        $this->loadModel('Orden');
        $folio = $this->Orden->dameFolio();
        $fecha = $this->Orden->dameFecha();
        $asesor = 'ASESOR1';
        $ingenieros = $this->Usuario->dameIngenieros();
        $logo = $htmlHelper->image('logo/logo.png',array('class'=>'photo')); 
        $this->set(array('logo' => $logo,
                        'folio'=>$folio,
                        'fecha'=>$fecha,
                        'asesor'=>$asesor,
                        'ingenieros'=>$ingenieros));
    }

    public function agregar(){
        $this->loadModel('Usuario');
        $this->loadModel('Orden');
        $this->loadModel('logOrden');
        if ($this->request->is('post')) {
            $orden = $this->request->data;
            $id_cliente=$this->Usuario->obtenUsuario($orden);
            $orden['id_cliente']=$id_cliente;
            if($id_cliente==0){
                $this->Usuario->insertaUsuario($orden);
                $id_cliente=$this->Usuario->obtenUsuario($orden);
                $orden['id_cliente']=$id_cliente;
            }
            else{
                $obj = $this->Usuario->read(null,$orden['id_cliente']);
                $obj['Usuario']['telefono']=$orden['telefono'];
                $obj['Usuario']['direccion']=$orden['direccion'];
                $obj['Usuario']['correo']=$orden['correo'];
                $this->Usuario->id = $orden['id_cliente'];
                $this->Usuario->save($obj['Usuario']);
            }
            $orden['id_asesor']=1;
            $orden = $this->Orden->upperAndTrimm($orden);
            if($this->Orden->save($orden)){
                $folio = $orden['folio'];
                $orden['id_orden']=$this->Orden->dameId();
                $orden['id_usuario']=$orden['id_asesor'];
                $orden['estado']=0;
                $this->logOrden->save($orden);
            }   
            $this->set(array('folio'=>$folio));
        }
    }
    public function diagnosticar(){
    }
    
    public function infoDiagnosticar(){
        $this->loadModel('Orden');
        $this->loadModel('logOrden');
        $ing = 17;
        $ordenes = $this->Orden->ordenesIngeniero($ing);
        $log = $this->logOrden->ordenesIngeniero($ing);
        $ordenes = $this->parseForKendo($ordenes);
        $this->set(array('ordenes'=>$ordenes, '_serialize'=>'ordenes'));
        $this->viewClass = 'Json';
    }
    public function cambiaEstadoDiagnosticando(){
        $this->loadModel('Orden');
        $this->loadModel('logOrden');
        $this->Orden->id = $_POST['id_orden'];
        $edo = $_POST['estado'];
        if($edo == 1)
            $estado = array('estado'=>2, 'edo_material'=>$_POST['edoMat']);
        var_dump($estado);
        if($edo == 0)
            $estado = array('estado'=>1);
        if($this->Orden->save($estado)){
                $this->logOrden->save(array('observaciones'=>$_POST['observaciones'],
                                            'id_orden' => $_POST['id_orden'],
                                            'id_usuario' => 100,
                                            'estado' => $estado['estado'])
                                     );
        }
        $this->set(array('orden' => $_POST['id_orden'], '_serialize' => 'orden'));
        $this->viewClass = 'Json';
    }
    public function muestraOrdenes() {
        
    }
    public function consultaOrdenes() {
        $this->loadModel('Orden');
        $nOrdenes = array();
        $ordenes = $this->Orden->dameOrdenes();
        $ordenes = $this->parseForKendo($ordenes);
        $this->set(array('ordene'=>$ordenes, '_serialize'=>'ordene'));
        $this->viewClass = 'Json';
    }
    public function confirmacion() {
        
    }
    public function consultaConfirmacion() {
        $this->loadModel('Orden');
        $ordenes = $this->Orden->dameOrdenesConfirmacion();
        $ordenes = $this->parseForKendo($ordenes);
        $this->set(array('orden'=>$ordenes, '_serialize'=>'orden'));
        $this->viewClass = 'Json';
    }
    public function confirma() {
        $this->loadModel('Orden');
        $this->loadModel('logOrden');
        $this->Orden->id = $_POST['id_orden'];
        $edo_material = $_POST['edo_material'];
        $estado = 0;
        if($edo_material == 0 || $edo_material == 2)
            $estado = array('estado'=>4);
        if($edo_material == 1)
            $estado = array('estado'=>3);
        if($this->Orden->save($estado)){
                $this->logOrden->save(array('observaciones'=>$_POST['observaciones'],
                                            'id_orden' => $_POST['id_orden'],
                                            'id_usuario' => 50,
                                            'estado' => $estado['estado'])
                                     );
        }
        
        $this->set(array('orden' => $_POST['id_orden'], '_serialize' => 'orden'));
        $this->viewClass = 'Json';
    }
    
    public function rechaza() {
        $this->loadModel('Orden');
        $this->loadModel('logOrden');
        $this->Orden->id = $_POST['id_orden'];
        $estado = array('estado'=>5);
        if($this->Orden->save($estado)){
          // if($edo_material == 0){
                $this->logOrden->save(array('observaciones'=>$_POST['observaciones'],
                                            'id_orden' => $_POST['id_orden'],
                                            'id_usuario' => 200,
                                            'estado' => $estado['estado'])
                                     );
        //   }
        }
        $this->set(array('orden' => $_POST['id_orden'], '_serialize' => 'orden'));
        $this->viewClass = 'Json';
    }
    private function parseForKendo(array $data){
        $dataForKendo = array();
        foreach (array_values($data) as $d)
        {
            $values = array_values($d);
            $dataForKendo[] = $values[0];
        }
        return $dataForKendo;
    }
}